
async function foo() {
  console.log(1)
  let a = await 100 // 遇到await 会生成一个Promise.resolve(100), 并把中断函数的执行. 由调用方继续执行. 等调用栈执行完毕后, 开始执行微任务, 此时 await 100 相当于就会返回结果100了, a就被赋值了, 继续执行下面的代码
  console.log(a)
  console.log(2)
}
console.log(0)
foo()
console.log(3)
